package cn.com.nes.site.controller.crm.customer.vo;

import cn.com.nes.site.entity.vo.BaseVO;
import cn.com.nes.site.service.crm.customer.bo.CustomerHouseBO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ApiModel(value = "客户房屋信息保存模型")
@Data
public class CustomerHouseSaveVO extends BaseVO {

    @ApiModelProperty(value = "房屋UUID")
    private String houseUuid;

    @ApiModelProperty(value = "客户UUID", required = true)
    @NotNull(message = "客户UUID")
    private String customerUuid;

    @ApiModelProperty(value = "行政区划代码", required = true)
    @NotNull(message = "行政区划代码")
    private String areaCode;

    @ApiModelProperty(value = "房屋地址")
    private String address;

    @ApiModelProperty(value = "门牌号")
    private String houseNumber;

    @ApiModelProperty(value = "经度")
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    private BigDecimal latitude;

    @ApiModelProperty(value = "是否农村")
    private String isVillage;

    @ApiModelProperty(value = "采暖面积")
    private BigDecimal heatingArea;

    @ApiModelProperty(value = "建筑面积")
    private BigDecimal floorSpace;

    @ApiModelProperty(value = "常用采暖面积")
    private BigDecimal commonHeatingArea;

    @ApiModelProperty(value = "建筑结构")
    private String buildingStructure;

    @ApiModelProperty(value = "建筑层高")
    private BigDecimal buildingHeight;

    @ApiModelProperty(value = "外墙厚度")
    private String outerWallThickness;

    @ApiModelProperty(value = "外墙保温")
    private String outerWallKeepWarm;

    @ApiModelProperty(value = "供暖方式")
    private String heatingMode;

    @ApiModelProperty(value = "安装位置")
    private String installPosition;

    @ApiModelProperty(value = "房屋用途")
    private String housePerpose;

    @ApiModelProperty(value = "房屋间数")
    private BigDecimal roomCount;

    @ApiModelProperty(value = "设计单位")
    private String designUnit;

    @ApiModelProperty(value = "图纸编号")
    private String drawingNo;

    @ApiModelProperty(value = "窗户类型")
    private String windowType;

    @ApiModelProperty(value = "设计热负荷")
    private BigDecimal designHeatingLoad;

    @ApiModelProperty(value = "房屋朝向")
    private String houseDirection;

    @ApiModelProperty(value = "末端状态")
    private String endState;

    @ApiModelProperty(value = "采暖末端")
    private String heatingEnd;

    @ApiModelProperty(value = "房屋类型")
    private String houseType;

    @ApiModelProperty(value = "能源类型")
    private String energyType;

    @ApiModelProperty(value = "电表号")
    private String electricityMeterNumbers;

    @ApiModelProperty(value = "电表地址")
    private String electricityMeterAddress;

    public CustomerHouseBO convertToBo() {
        CustomerHouseBO bo = new CustomerHouseBO();
        BeanUtils.copyProperties(this, bo);
        return bo;
    }

}
